//
// Created by bobin on 17-6-9.
//

#ifndef SVIO_STEREO_KITTIREADER_H
#define SVIO_STEREO_KITTIREADER_H

#include <vector>
#include <string>
#include <map>
#include <string>
#include "Eigen/Core"

inline std::vector<std::string> glob_vector(const std::string &pat);

bool LoadImgNameFromPath(const std::string &strPathLeft, const std::string &strPathRight,
                         const std::string &strPathTimes, std::vector<std::string> &vstrImageLeft,
                         std::vector<std::string> &vstrImageRight, std::vector<double> &vTimeStamps);

/**
 * Load the ground truth trajectory
 * @param [in] trajPath the path to trajectory, in euroc will be xxx/state_groundtruth_estimate0/data.csv
 * @param [out] the loaded trajectory
 * @return true if succeed
 */
typedef std::vector<Eigen::Matrix4d> TrajectoryType;

bool LoadGroundTruthTraj(const std::string &trajPath,
                         TrajectoryType &trajectory);


#endif //SVIO_STEREO_KITTIREADER_H
